import axios from 'axios'
import NProgress from 'nprogress'
import 'nprogress/nprogress.css'

// 创建axios实例对象，以后发送请求都用这个实例
const mockAjax = axios.create({
  baseURL: '/mock', //请求的基本路径
  timeout: 1000, //请求超时时间
})

// 设置请求拦截器
mockAjax.interceptors.request.use((config) => {
  NProgress.start()
  // 只要发送请求，就会先走这个请求拦截器
  // 可以在请求拦截器当中做一些统一的操作，比如说设置进度条，设置请求头
  // console.log(config)
  return config
})

// 设置响应拦截器
mockAjax.interceptors.response.use(
  (response) => {
    // 只要服务器响应回来了信息，一定会先走响应拦截器，再走后续的流程
    NProgress.done()
    // console.log(response)
    return response.data
  },
  (err) => {
    NProgress.done()
    return Promise.reject(new Error(err.msg))
  }
)
export default mockAjax
